import UIKit

@available(iOS 9.0, *)
extension QKC where AA :UIStackView {
    open func arrangedSubviews_qk_g() -> QKC<AA,YY,ZZ, [UIView] >{
		 self +^ self.value.arrangedSubviews
	}

    open func axis_qk_s(_ axis:  NSLayoutConstraint.Axis) -> QKC<AA,YY,ZZ, NSLayoutConstraint.Axis>{
		return link(next: axis).then_QK { $0.value.axis = axis }
	}
    open func axis_qk_g() -> QKC<AA,YY,ZZ, NSLayoutConstraint.Axis>{
		 self +^ self.value.axis
	}

    open func distribution_qk_s(_ distribution:  UIStackView.Distribution) -> QKC<AA,YY,ZZ, UIStackView.Distribution>{
		return link(next: distribution).then_QK { $0.value.distribution = distribution }
	}
    open func distribution_qk_g() -> QKC<AA,YY,ZZ, UIStackView.Distribution>{
		 self +^ self.value.distribution
	}

    open func alignment_qk_s(_ alignment:  UIStackView.Alignment) -> QKC<AA,YY,ZZ, UIStackView.Alignment>{
		return link(next: alignment).then_QK { $0.value.alignment = alignment }
	}
    open func alignment_qk_g() -> QKC<AA,YY,ZZ, UIStackView.Alignment>{
		 self +^ self.value.alignment
	}

    open func spacing_qk_s(_ spacing:  CGFloat) -> QKC<AA,YY,ZZ, CGFloat>{
		return link(next: spacing).then_QK { $0.value.spacing = spacing }
	}
    open func spacing_qk_g() -> QKC<AA,YY,ZZ, CGFloat>{
		 self +^ self.value.spacing
	}

    open func isBaselineRelativeArrangement_qk_s(_ isBaselineRelativeArrangement:  Bool) -> QKC<AA,YY,ZZ, Bool>{
		return link(next: isBaselineRelativeArrangement).then_QK { $0.value.isBaselineRelativeArrangement = isBaselineRelativeArrangement }
	}
    open func isBaselineRelativeArrangement_qk_g() -> QKC<AA,YY,ZZ, Bool>{
		 self +^ self.value.isBaselineRelativeArrangement
	}

    open func isLayoutMarginsRelativeArrangement_qk_s(_ isLayoutMarginsRelativeArrangement:  Bool) -> QKC<AA,YY,ZZ, Bool>{
		return link(next: isLayoutMarginsRelativeArrangement).then_QK { $0.value.isLayoutMarginsRelativeArrangement = isLayoutMarginsRelativeArrangement }
	}
    open func isLayoutMarginsRelativeArrangement_qk_g() -> QKC<AA,YY,ZZ, Bool>{
		 self +^ self.value.isLayoutMarginsRelativeArrangement
	}

    open func addArrangedSubview_qk_f(_ view: UIView) -> QKC<AA,YY,ZZ, UIView>{
		 self +^ self.value.addArrangedSubview(view) +^ view
	}

    open func removeArrangedSubview_qk_f(_ view: UIView) -> QKC<AA,YY,ZZ, UIView>{
		 self +^ self.value.removeArrangedSubview(view) +^ view
	}

    open func insertArrangedSubview_qk_f(_ view: UIView, at stackIndex: Int) -> QKC<AA,YY,ZZ, UIView>{
		 self +^ self.value.insertArrangedSubview(view, at:stackIndex) +^ view
	}

    @available(iOS 11.0, *)
    open func setCustomSpacing_qk_f(_ spacing: CGFloat, after arrangedSubview: UIView) -> QKC<AA,YY,ZZ, CGFloat>{
		 self +^ self.value.setCustomSpacing(spacing, after:arrangedSubview) +^ spacing
	}

    @available(iOS 11.0, *)
    open func customSpacing_qk_f(after arrangedSubview: UIView) -> QKC<AA,YY,ZZ,CGFloat>{
		 self +^ self.value.customSpacing(after:arrangedSubview)
	}

}

